# Methods added to this helper will be available to all templates in the application.
module ApplicationHelper
  
  #Zeitdistanz auf Deutsch
  
  def distance_of_time_in_words(from_time, to_time = 0, include_seconds = false)
   from_time = from_time.to_time if from_time.respond_to?(:to_time)
   to_time = to_time.to_time if to_time.respond_to?(:to_time)
   distance_in_minutes = (((to_time - from_time).abs)/60).round
   distance_in_seconds = ((to_time - from_time).abs).round

   case distance_in_minutes
     when 0..1
       return (distance_in_minutes == 0) ? 'vor weniger als einer Minute' : 'vor einer Minute' unless include_seconds
       case distance_in_seconds
         when 0..4   then 'vor weniger als 5 Sekunden'
         when 5..9   then 'vor weniger als 10 Sekunden'
         when 10..19 then 'vor weniger als 20 Sekunden'
         when 20..39 then 'vor einer halben Minute'
         when 40..59 then 'vor weniger als einer Minute'
         else             'vor einer Minute'
       end

     when 2..44           then "vor #{distance_in_minutes} Minuten"
     when 45..89          then 'vor etwa einer Stunde'
     when 90..1439        then "vor etwa #{(distance_in_minutes.to_f / 60.0).round} Stunden"
     when 1440..2879      then 'vor einem Tag'
     when 2880..43199     then "vor #{(distance_in_minutes / 1440).round} Tagen"
     when 43200..86399    then 'vor etwa einem Monat'
     when 86400..525959   then "vor etwa #{(distance_in_minutes / 43200).round} Monaten"
     when 525960..1051919 then 'vor etwa einem Jahr'
     else                      "vor #{(distance_in_minutes / 525960).round} Jahren"
   end
  end
  
end
